package br.com.insight.consultoria.negocio.bo;

import java.util.List;

import br.com.insight.consultoria.entity.Tipo;
import br.com.insight.consultoria.entity.TipoEspecifico;
import br.com.insight.consultoria.erro.exception.InsightConstants;
import br.com.insight.consultoria.erro.exception.InsightException;
import br.com.insight.consultoria.erro.exception.SistemaException;
import br.com.insight.consultoria.integracao.dao.interfacedao.TipoEspecificoDAO;
import br.com.insight.consultoria.negocio.bo.interfacebo.TipoEspecificoBO;

public class TipoEspecificoImpBO implements TipoEspecificoBO{

	private TipoEspecificoDAO tipoEspecificoDAO;
	
	public List<TipoEspecifico> listarTipoEspecifico(Tipo tipo) throws InsightException{
		
		try{
		
		return getTipoEspecificoDAO().listarTipoEspecifico(tipo);
		
		}catch(InsightException exception){
			
			throw exception;
			
		}catch(Exception exception){
			
			throw new SistemaException(InsightConstants.MENSAGEM_ERRO_NAO_TRATADO,exception);
			
		}
		
	}
	
	public TipoEspecifico getTipoEspecifico(Long id) throws InsightException{
		
		try{
		
		return getTipoEspecificoDAO().getTipoEspecifico(id);
		
		}catch(InsightException exception){
			
			throw exception;
			
		}catch(Exception exception){
			
			throw new SistemaException(InsightConstants.MENSAGEM_ERRO_NAO_TRATADO,exception);
			
		}
		
	}
	
	public TipoEspecificoDAO getTipoEspecificoDAO() {
		return tipoEspecificoDAO;
	}

	public void setTipoEspecificoDAO(TipoEspecificoDAO tipoEspecificoDAO) {
		this.tipoEspecificoDAO = tipoEspecificoDAO;
	}
	
}
